Telegram Group & Telegram Channel
OneRec: Unifying Retrieve and Rank with Generative Recommender and Preference Alignment [2025]

У рекомендательных инженеров есть мечта - каким-то образом обучить одну модель, которая будет напрямую выбирать айтемы из огромной базы, без всяких multi-stage ranking костылей. Каким-то образом она должна совмещать в себе скорость методов кандидатогенерации и качество моделей ранжирования.

Одним из ответов на данный вызов называют генеративные рекомендации. Я уже писал про статью о Generative Retrieval (TIGER) от гугла. Суть этого подхода заключается в обучении семантических ID-шников для айтемов, делающих осмысленным генерацию айтема декодерным трансформером.

Здесь подход похожий, но авторы утверждают, что запустили такую систему в прод вместо всей системы ранжирования и получили профит. От TIGER система достаточно сильно отличается, давайте посмотрим внимательнее.

Начнём с того, что авторы не используют никакие RQ-VAE для генерации семантических ID. Вместо этого на датасете из эмбеддингов айтемов N раз применяют "Balanced K-means" - вариацию алгоритма, в которой форсируется одинаковый размер кластеров. После каждого из N применений из векторов вычитают центроиды - получается почти как в RQ-VAE, но по-другому.

Теперь к обучению трансформерного декодера. Собирается датасет из "хороших пользовательских сессий" - последовательностей событий просмотра видео, которые удовлетворяют пачке критериев - кол-во видео, общее кол-во секунд, кол-во положительных взаимодействий.

Каждое видео заменяется на последовательность его семантических ID + разделитель. На этих данных мы самым обычным образом обучаем декодер, максимизируя вероятность выдачи "хорошей сессии". Один внимательный инженер заметил, что это по сути одна итерация Cross Entropy Method, со всеми вытекающими - например, тут отсутствует оценка индивидуальных действий.

Но это только предобучение. После этого применяют "DPO с дополнительной reward model", но это не RLHF, а свой велосипед.

Сначала RM обучают по сессии предсказывать награду - наличие лайка или суммарный watchtime. Далее генератор просят выдать N последовательностей, которые RM ранжирует и выбирает лучшую и худшую - эти пары и будут использоваться для обучения DPO.

Получается, что авторы, лишь бы не использовать RL, игнорируют наличие у них Reward Model и используют метод, разработанный для того, чтобы не обучать Reward Model. Как опытный RL-щик, одобряю.

Онлайн-результаты такие: 0.1B-декодер даёт +0.57%, 1B-декодер даёт +1.21% и 1B + их DPO даёт +1.68%. Очень интересный результат, думаю, мы тоже будем копать в какую-то такую сторону. Чем меньше у системы кусков и моделей, тем лучше с практической точки зрения.

@knowledge_accumulator



tg-me.com/knowledge_accumulator/271
Create:
Last Update:

OneRec: Unifying Retrieve and Rank with Generative Recommender and Preference Alignment [2025]

У рекомендательных инженеров есть мечта - каким-то образом обучить одну модель, которая будет напрямую выбирать айтемы из огромной базы, без всяких multi-stage ranking костылей. Каким-то образом она должна совмещать в себе скорость методов кандидатогенерации и качество моделей ранжирования.

Одним из ответов на данный вызов называют генеративные рекомендации. Я уже писал про статью о Generative Retrieval (TIGER) от гугла. Суть этого подхода заключается в обучении семантических ID-шников для айтемов, делающих осмысленным генерацию айтема декодерным трансформером.

Здесь подход похожий, но авторы утверждают, что запустили такую систему в прод вместо всей системы ранжирования и получили профит. От TIGER система достаточно сильно отличается, давайте посмотрим внимательнее.

Начнём с того, что авторы не используют никакие RQ-VAE для генерации семантических ID. Вместо этого на датасете из эмбеддингов айтемов N раз применяют "Balanced K-means" - вариацию алгоритма, в которой форсируется одинаковый размер кластеров. После каждого из N применений из векторов вычитают центроиды - получается почти как в RQ-VAE, но по-другому.

Теперь к обучению трансформерного декодера. Собирается датасет из "хороших пользовательских сессий" - последовательностей событий просмотра видео, которые удовлетворяют пачке критериев - кол-во видео, общее кол-во секунд, кол-во положительных взаимодействий.

Каждое видео заменяется на последовательность его семантических ID + разделитель. На этих данных мы самым обычным образом обучаем декодер, максимизируя вероятность выдачи "хорошей сессии". Один внимательный инженер заметил, что это по сути одна итерация Cross Entropy Method, со всеми вытекающими - например, тут отсутствует оценка индивидуальных действий.

Но это только предобучение. После этого применяют "DPO с дополнительной reward model", но это не RLHF, а свой велосипед.

Сначала RM обучают по сессии предсказывать награду - наличие лайка или суммарный watchtime. Далее генератор просят выдать N последовательностей, которые RM ранжирует и выбирает лучшую и худшую - эти пары и будут использоваться для обучения DPO.

Получается, что авторы, лишь бы не использовать RL, игнорируют наличие у них Reward Model и используют метод, разработанный для того, чтобы не обучать Reward Model. Как опытный RL-щик, одобряю.

Онлайн-результаты такие: 0.1B-декодер даёт +0.57%, 1B-декодер даёт +1.21% и 1B + их DPO даёт +1.68%. Очень интересный результат, думаю, мы тоже будем копать в какую-то такую сторону. Чем меньше у системы кусков и моделей, тем лучше с практической точки зрения.

@knowledge_accumulator

BY Knowledge Accumulator




Share with your friend now:
tg-me.com/knowledge_accumulator/271

View MORE
Open in Telegram


Knowledge Accumulator Telegram | DID YOU KNOW?

Date: |

Export WhatsApp stickers to Telegram on iPhone

You can’t. What you can do, though, is use WhatsApp’s and Telegram’s web platforms to transfer stickers. It’s easy, but might take a while.Open WhatsApp in your browser, find a sticker you like in a chat, and right-click on it to save it as an image. The file won’t be a picture, though—it’s a webpage and will have a .webp extension. Don’t be scared, this is the way. Repeat this step to save as many stickers as you want.Then, open Telegram in your browser and go into your Saved messages chat. Just as you’d share a file with a friend, click the Share file button on the bottom left of the chat window (it looks like a dog-eared paper), and select the .webp files you downloaded. Click Open and you’ll see your stickers in your Saved messages chat. This is now your sticker depository. To use them, forward them as you would a message from one chat to the other: by clicking or long-pressing on the sticker, and then choosing Forward.

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

Knowledge Accumulator from us


Telegram Knowledge Accumulator
FROM USA